# -*- coding：utf-8 -*-
"""
@Time:2024-08-167:11
@Auth:泛彼泊舟
@File:6、for循环.py
@IDE:PyCharm
@模块功能：xxx
"""
"""
使用for关键字结合内置函数range()完成循环体构造
range(开始，结束)，如果只有一个值那么就是代表结束（左闭右开区间）
"""
list1 = []
for i in range(10):  # range(开始，结束)，如果只有一个值那么就是代表结束值(左闭右开区间)
    list1.append(i)
# for循环可以结合else一起使用，当循环正常结束，那么执行else代码，不正常就不执行
else:
    print(list1)

# 随机生成10个1-5之间的数字放到列表中
import random
list2 = []
for i in range(1,11): # 区间是[1,11)
    list2.append(random.randint(1,5))  # randint区间[1,5]
else:
    print(list2)

# for循环可以遍历字符串，列表，元组，集合，字典数据类型
# 字符串
str1 = "我自横刀向天笑，去留肝胆两昆仑"
for i in str1:
    # print内置函数的end参数表示在字符串后面加什么处理
    # print(i, end="\n")  # \n的含义：换行
    # print(i, end=" ")   # 字符串之间加一个空格
    print(i, end="-")

# 列表
list1 = [1, 2, 3, 46, 7, 8, 8]
for i in list1:
    print(i, end=" ")
# 元组、集合、字典都可以遍历获取每一个元素值，元组和集合是一致的
# 遍历字典得分遍历键、值、键值对三种
students_scores = {
    'Alice': 85,
    'Bob': 90,
    'Charlie': 78
}
# 遍历键
print("学生名字：")
for student in students_scores.keys():
    print(student)

# 遍历值
print("\n学生成绩：")
for score in students_scores.values():
    print(score)

# 遍历键值对
print("\n学生及其成绩：")
for student, score in students_scores.items():
    print(f"{student} 的成绩是 {score}")